from django.db import models
from django.core.urlresolvers import reverse
from DjangoUeditor.models import UEditorField
# Create your models here.
from django.db import models

class Column(models.Model):
    name = models.CharField('栏目名称',max_length=256)
    #db_index=True表示将为此字段创建索引
    slug = models.CharField('栏目网址',max_length=256,db_index=True)
    intro = models.TextField('栏目简介',default='')

    def __str__(self):
        return self.name

    def get_absolute_url(self):
        return reverse('column',args=(self.slug,))
    #内部类到底要干嘛？，好像是标题名称
    class Meta:
        verbose_name = '栏目'
        verbose_name_plural = '栏目'
        ordering = ['name'] #按照哪个栏目排序

class Article(models.Model):
    #会创建一个中间表news_article_column
    #column不作为表中属性
    column = models.ManyToManyField(Column,verbose_name='归属栏目')

    title = models.CharField('标题',max_length=256)
    slug = models.CharField('网址',max_length=256,db_index=True)
    author = models.ForeignKey('auth.User',blank=True,null=True,verbose_name='作者')
    #content = models.TextField('内容',default='',blank=True)
    content = UEditorField('内容', height=300, width=1000,
                           default=u'', blank=True, imagePath="uploads/images/",
                           toolbars='besttome', filePath='uploads/files/')

    #调用迁移命令后新添加两个字段

    #第一次创建的时候添加当前时间。常作为创建时间使用。注意：每次create 都会调用。
    pub_date = models.DateTimeField('发表时间',auto_now_add=True,editable=True)
    #每次执行save操作的时候自动记录当前时间，常作为最近一次修改的时间
    #使用。注意：总是在执行save操作的时候执行，无法覆盖。
    update_time = models.DateTimeField('更新时间',auto_now=True,null=True)

    def __str__(self):
        return self.title
    def get_absolute_url(self):
        return reverse('article',args=(self.slug,self.title,))

    class Meta:
        verbose_name = '教程'
        verbose_name_plural = '教程'